package pictureseditor.effects;

import pictureseditor.images.Image;

public abstract class EffectParametrized extends Effect {

	private Parameter parameter;
	
	  /////////////////
	 // CONSTRUCTOR //
	/////////////////
	
	/**
	 * @param img
	 * @param paramName parameter name
	 * @param min minimal value of parameter
	 * @param max maximal value of parameter
	 */
	public EffectParametrized(Image img, String paramName, int min, int max) {
		super(img);
		this.parameter = new Parameter(paramName, 0, max, min);
	}
	
	  /////////////////////
	 // GETTERS/SETTERS //
	/////////////////////
	
	/** Retourne la valeur du parametre de l'effet. */
	public Parameter getParameter() { return parameter; }
	
	/** Applique une nouvelle valeur au parametre.  */
	public void setParameterValue(int value) { parameter.setValue(value); }
	 
}
